Pool and Centralization
Selfish Mining
Aka block-withholding. Don't annouce to network when a block is found. Keep working on the next block. If a second block is found, the network is fooled. Everyone in the network believes they are working on the longest chain, but you are. When the network finds a block, you broadcast your two secret blocks and make the network block invalid. While the entire network is working on the invalid block, you are competing with no one (free time).
Summary
- Large players have incentives to mine unhonestly
- Centralization -> Larger pool players cheat -> Smaller players kicked out -> More centralization
- Measures against mining attacks:
- Miners switch pools to prevent monopoly
- Punish cheaters in protocol (very hard)
- Comparing to mining attacks, double-spend attacks never occurred in the cryptocurrency history. Why? TODO.
- Bitcoin is increasingly centralized, network safety dependent on very few large players